#include "stm8s_conf.h"

PROCPARA ProcPara;

extern unsigned char LED_STATUS;



void AuthSU_SET(void)
{
	if(SCANMODE==ProcPara.Proc_Mode)
	{
		ProcPara.Proc_Mode=POWERMODE;
		SET_LED1(LED_STATUS,0);
		SET_LED2(LED_STATUS,1);
		if(ProcPara.cnt==0)
		{
			ProcPara.cnt=AUTH_TIMEOUTCNT/2;
		}
		if(ProcPara.cnt>0&&ProcPara.cnt<AUTH_TIMEOUTCNT)
		{
			ProcPara.cnt--;
		}
	}
}




void Proc_TimerHandler(void)
{
	//if(ProcPara.Num)
	{
		if(++ProcPara.Num<PWM_OUTSCAN_TIMEVALUE)
		{
			ProcPara.Flag=TRUE;
		}
		else
		{
			ProcPara.Flag=FALSE;
			if(ProcPara.Num>(PWM_OUTSCAN_TIMEVALUE+PWM_OUTSCAN_WAITTIMEVALUE))
			{
				ProcPara.Num=1;
			}
		}
	}

	if(ProcPara.delay<65535)
	{
		if(ProcPara.delay++>AUTH_TIMEOUTTIME)
		{
			ProcPara.delay=1;
			if(ProcPara.Proc_Mode==POWERMODE)
			{
				if(ProcPara.cnt>0)
				{
					ProcPara.cnt++;
				}	
			}
		}
	}
}

void ProcHandler(void)
{
	switch( ProcPara.Proc_Mode)
	{
		case SCANMODE:
		{
			SET_LED1(LED_STATUS,1);
			SET_LED2(LED_STATUS,0);//LED1 on
			if(ProcPara.Flag==TRUE)
			{
				PWMOUT_ON;
			}
			else
			{
				PWMOUT_OFF;
			}
			break;
		}
		case POWERMODE:
		{
			PWMOUT_ON;
			SET_LED1(LED_STATUS,0);
			SET_LED2(LED_STATUS,1);
			if(ProcPara.cnt>=AUTH_TIMEOUTCNT)
			{
				ProcPara.Proc_Mode=SCANMODE;
				ProcPara.cnt=0;
				ProcPara.Num=PWM_OUTSCAN_TIMEVALUE;
				PWMOUT_OFF;	
			}
			break;
		}
		default:
		{
			break;
		}
	}
		
}


